package com.jic.member.service;

import com.jic.common.base.vo.PageResult;
import com.jic.common.base.vo.RestResult;
import com.jic.member.entity.MememberGrowthRule;
import com.jic.member.request.MemberGrowthActionApiRequest;
import com.jic.member.request.MemberGrowthRuleRequest;
import com.jic.member.response.MemberGrowthActionApiResponse;
import com.jic.member.response.MemberGrowthRuleResponse;
import java.util.List;

/**
 * 会员等级管理-成长值规则主表
 *
 * @author : zs
 * @version : v1.0.0
 * @email :
 * @since : 2020-04-08 03:50:24
 */
public interface MememberGrowthRuleService {

	RestResult<Long> insert(MemberGrowthRuleRequest mememberGrowthRule);

	long delete(Long id);

	RestResult<Long> update(MemberGrowthRuleRequest mememberGrowthRule);

	MememberGrowthRule queryByPrimaryKey(Long id);

	List<MememberGrowthRule> query(MememberGrowthRule mememberGrowthRule);

	RestResult<PageResult<MemberGrowthRuleResponse>> queryPage(MemberGrowthRuleRequest mememberGrowthRule);

	RestResult<Long> delByRuleId(MemberGrowthRuleRequest mememberGrowthRule);

	RestResult<Long> updateGrowthRuleStatus(MemberGrowthRuleRequest request);

	//综合查询成长值规则列表
	RestResult<PageResult<MemberGrowthRuleResponse>> queryGrowthRule(MemberGrowthRuleRequest request);

	RestResult<String> getDeptNameByDeptId(MemberGrowthRuleRequest request);

	RestResult<MemberGrowthRuleResponse> getDeptInfoById(Long id);

	/*查询子平台成长值规则列表*/
	RestResult<PageResult<MemberGrowthRuleResponse>> getRulistByChild(MemberGrowthRuleRequest request);

	/**
	 * 获取会员[成长值]详情
	 *
	 * @param memberGrowthActionApiRequest 入参
	 * @return 返回单个成长值对象
	 * @date 2020-5-26 16:53:10
	 * @author tzc
	 */
	RestResult<MemberGrowthActionApiResponse> getMemberGrowthInfo(MemberGrowthActionApiRequest memberGrowthActionApiRequest);

	/**
	 * 修改会员[成长值]详情
	 *
	 * @param memberGrowthActionApiRequest 入参
	 * @return 返回单个成长值对象
	 * @date 2020-5-26 16:53:10
	 * @author tzc
	 */
	RestResult<MemberGrowthActionApiResponse> updateMemberGrowthInfo(MemberGrowthActionApiRequest memberGrowthActionApiRequest);

	/**
	 * 查询会员[成长值]列表
	 *
	 * @param memberGrowthActionApiRequest 入参
	 * @return 返回会员成长值列表
	 * @date 2020-5-26 16:53:10
	 * @author zxl
	 */
	RestResult<MemberGrowthActionApiResponse> getMemberGrowthList(MemberGrowthActionApiRequest memberGrowthActionApiRequest);

	RestResult<PageResult<MemberGrowthRuleResponse>> queryStoreMemberPage(MemberGrowthRuleRequest memberGrowthRuleRequest);

	RestResult<Long> updateStoreGrowthRuleStatus(MemberGrowthRuleRequest request);
}